home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / windows / murry101.zip / MURRAY.DOC < prev    next >
Text File  |  1997-04-07  |  45KB  |  848 lines

  1.                                     Murray.
  2.                      (sounds innocent enough, doesn't it?)
  3.  
  4. Murray Client for OS/2 Version 1.01  2/23/97 4/7/97
  5. Concept and implementation by Stu Mark.
  6. Copyright 1997.
  7. (yea, the same guy who wrote NYTS II)
  8. Don't worry, there's a Windows version on the way.
  9.  
  10. *** Section XX and later have update changes, the rest of the document
  11.     is the same as the origional. If you've already read it skip to
  12.     section XX. If not it makes for fun reading, I'm told.
  13.  
  14. This program is free. That means you can download it, use it as much as you
  15. want and give it to everybody you know. Nothing times out, there are no
  16. annoying splash screens. So read the pricing section below. :)
  17.  
  18. Also, this file is kinda big, so print it out and keep it in your bathroom
  19. so you have something fun to read next time you go to take a shit.
  20. I have play tested this by printing out this file and going to the bathroom
  21. after about 20 minutes you get tired and need a brake, so it'll take about
  22. two shit sessions to get through the whole thing.
  23.  
  24. I.    Who the hell is Murray? (A.K.A. why am I reading this)
  25.  
  26.       Murray is the result of this cool idea I had while I was being beaten
  27.       senseless with happiness at Walt Disney World at the wedding of my
  28.       friends Lenora DiBart and John Cloidt.
  29.       This fact is very important to your understanding of this document and
  30.       needs to remain clear throughout the reading of this file.
  31.  
  32.       Here's the story: Humans by nature get bored of things. We're
  33.       constantly looking for more, newer, faster, creative, different.
  34.  
  35.                             In a word: change.
  36.  
  37.       One thing humans do better than anything else as a race (aside from
  38.       kill each other, I suppose) is adapt. Our brains adapt to all sorts
  39.       of things. That's why practice makes you better. This is why you
  40.       eventually get tired of listening to Stairway to Heaven. This is why
  41.       I think you're going to get a kick out of Murray.
  42.  
  43.       Now let's transpose this problem over the image of my perception of
  44.       the average PC user. A lot of people (much to my dismay) run some
  45.       variant of Windows.
  46.       Some people run some variant of OS/2. Some run DOS. The DOS people play
  47.       games. (Boy am I going to get it for that.)
  48.       The Windows and OS/2 people have these neat little settings
  49.       in their environment that allows them to change things like the desktop
  50.       background (or wallpaper), and sounds that the system makes when you
  51.       do things like get an error or open or close window.
  52.  
  53.       Most people ignore these little toys or play with them for a little
  54.       while and get bored of them. "Oh look at this really cool background!"
  55.       Which two weeks later you find annoying in view of "This other REALLY
  56.       cool background." After a while it gets to be a chore to keep changing
  57.       it so you stop.
  58.       Then you find this really neat program that changes your background
  59.       every time you start the machine up. Well that eventually gets played
  60.       because you have to dig up all the pictures you're going to have it
  61.       slide show for you.
  62.  
  63.       Enter Murray.
  64.  
  65.       Murray is my first TCP/IP project, so if some experienced TCP/IP
  66.       programmer tells you that Murray is a piece of shit, quietly ask
  67.       them to shut up and go away, and then kick him in the ass for me
  68.       when they turn around.
  69.  
  70.       Murray plain and simpe, changes desktop settings for you in the
  71.       background from a repository of images, text and sounds such that
  72.       you can ignore it, and your computer's desktop changes without any
  73.       input from you. The perfect human boredom solution: It changes by
  74.       itself, and requires little to no effort from you, and the warehouse
  75.       of resources it pulls from is a large pool that is collected and 
  76.       maintained by somebody else.
  77.       Why didn't I just say that before eh?
  78.  
  79.  
  80.       Note: My writing style is okay, but my organizational skills are
  81.             horrible, you may have to skip around to get the idea of what
  82.             I'm getting at here. Read through the whole thing, and you'll
  83.             understand Murray much better, and how to use it's different
  84.             features.
  85.  
  86.  
  87. II.   How it works / System requirements. (I'd rather read a text file than
  88.       play with the program)
  89.  
  90.       The magic behind Murray is really the server and the internet. I run a
  91.       server on my machine at home which is connected to the internet all
  92.       of the time (minus NYNEX's inability to maintain a clean connection).
  93.       The server delivers all of the requests that the clients ask for on a
  94.       first come first server basis. So if a lot of people run Murray you
  95.       may get messages that say the server is too busy to deal with you.
  96.  
  97.       You need: A connection to the internet, and a TCPIP stack. If you've
  98.       got a web browser running, you've got everything you need.
  99.  
  100.       Murray does not require a full time internet connection.
  101.  
  102.       Firewalls are your problem. Go tell your network admin that you have
  103.       an application that you need to get working through the firewall,
  104.       that runs over TCP/IP on port 1123, and let them deal with it.
  105.  
  106.       Murray works by keeping a list of things you want updated at regular
  107.       intervals in a config file on your machine. When Murray detects that
  108.       the specified time has elapsed, it will try and make a connection to
  109.       the selected Murray server, and get a random sound, quote, or
  110.       picture, depending on the selection. If the connection to a Murray
  111.       server is not available, no big deal, Murray won't popup an error, it
  112.       will just log it in the log window.
  113.       Next time your internet connection is up, Murray will check for the
  114.       server again, and when it's available, the request will go through.
  115.       Murray checks once a minute for any events that are past due. This
  116.       results in a lot of logging. No big deal, it's just a log. If I get
  117.       a lot of complaints, I'll get rid of it or something. Point is,
  118.       don't worry about -3 connection errors if you're not connected to
  119.       the internet.
  120.  
  121.       The idea is that you ignore Murray, and he sits quietly in the
  122.       background and does his thing when he can. (I tend to personify my
  123.       programs.) When a connection becomes available, anything that has
  124.       timed out will be triggered.
  125.  
  126. III.  What's available. (All the cool things you can download from
  127.       the internet!)
  128.       As of 2/23/97, I have only finished the OS/2 client. These are
  129.       the options available for the OS/2 version of Murray:
  130.  
  131.       1)  Murray Quote
  132.           This option gets a text entry from one of the selected categories
  133.           (see configuration below). The text entry appears in the top window
  134.           on the main Murray window.
  135.  
  136.       2)  Background Picture
  137.           This is the OS/2 desktop background bitmap. All pictures are
  138.           automatically tiled, so patterns don't just end up in the middle
  139.           of your screen.
  140.  
  141.       The following apply only if you have sound (mmos2) support loaded:
  142.  
  143.       3)  Random Sound
  144.           This feature when triggered will download a wav file from the
  145.           Murray server and play it. This is useful if you like having
  146.           your machine audibly burp, fart and insult you at regular
  147.           intervals.
  148.  
  149.       The rest of these are system events that can be found in the
  150.       system setup->sound notebook. Triggering these causes the specified
  151.       system event to change to a random wav file. The events you can select
  152.       are:
  153.  
  154.       4)  Alarm Clock
  155.       5)  System shutdown
  156.       6)  Lockup
  157.       7)  Warning
  158.       8)  Information
  159.       9)  Error
  160.       10) Printer error
  161.       11) Opening window (Animated)
  162.       12) Closing window (Animated)
  163.       13) Begin drag
  164.       14) End drag
  165.       15) Shred
  166.  
  167. IV.   Me / distribution / pricing. (Send money :) )
  168.  
  169.       I have no idea how well this is going to take off, but for once in
  170.       my life, I think I really hit upon a cool idea here, and everybody
  171.       I've mentioned it to really likes it. I hope you do too.
  172.       This program, as mentioned above is free. You can distribute it as
  173.       much as you like without cost or penalty, as long as you give it
  174.       away in the original zip with all files intact.
  175.  
  176.       I spent a lot of time and effort on this, and I like audience
  177.       participation as much as the next guy. So if you'd like to drop me
  178.       a line, my Eddress (e-mail address (I'm trying to coin a new phrase))
  179.       is at the end of this file. Or you can send a comment or tip with
  180.       the Murray program itself to my server.
  181.  
  182.       If you're feeling generous, and think Murray is worth more than the
  183.       initial cost (it's free, remember?), I will gladly accept monetary
  184.       donations which will further entice me to continue development on this
  185.       an other systems that I'm writing, and will also help offset the cost
  186.       of running the Murray server. $5 would be nice. $10 would be even
  187.       nicer. $50 will get you a thank you card in the mail. I think
  188.       Murray's worth $10, can't hurt eh?
  189.  
  190.       Keep in mind that any donations would be put towards the Murray fund
  191.       which will pay for extra hardware to support the Murray
  192.       server, because when I first distribute it, I'm the only one with a
  193.       server so everybody who uses Murray is going to be banging away at
  194.       my machine. If there's more demand than supply, Murray ain't gonna
  195.       work too well. So I'd like to deliver the best product I can, but
  196.       (in a whining and distressed voice) "I need your help!"
  197.  
  198.       In addition, if you send money, I'll add you to my mailing list and
  199.       send out mail or email with new releases or information about
  200.       upcoming products, versions or fixes.
  201.  
  202.       Ok, enough begging for money.
  203.  
  204. V.    Why is it called Murray? (The name shithead was already taken.)
  205.  
  206.       I'm still trying to figure this one out. If you can think of a good
  207.       reason why it's called Murray, send a comment to the server (see
  208.       below).
  209.       So far, the best answer I've gotten was this. I was rock climbing with
  210.       my friend Joe and while he was climbing, he wanted me to lower him a bit,
  211.       so he yelled down to me "Slack, Murray!". This is a quote from one of
  212.       his climbing videos where there was some climber who wanted to be
  213.       lowered, and the belayer's name was Murray.
  214.       This happened around the time I started to write Murray, and may very
  215.       well be the correct answer. I do seem to recall calling it Murray when
  216.       I first had the idea during the middle of last year. I dunno.
  217.       Send me your comments. I keep a scrapbook so I can show it to my kids
  218.       someday.
  219.  
  220. VI.   Installation. ("How to use the pkunzip program for dummies")
  221.  
  222.       To initially set up Murray, very little is required. I hate complex
  223.       installation programs, so I don't write any. (It always seemed to me
  224.       that the guys who write viruses write the best installation software
  225.       known to man. How many viruses have ever failed to install correctly
  226.       or have given you an error message saying that they can't install?)
  227.  
  228.       Step 1: Unzip the Murray distribution zip into a directory. I recommend
  229.               C:\Murray because people like it when I recommend things.
  230.       Step 2: Edit the file Murray.cfg with your favorite text editor. E
  231.               will do fine. Change the line in the file that says
  232.               "Directory = C:\Murray" to point to whatever directory
  233.               you unzipped the files in. If you unzipped the distribution
  234.               file into C:\Murray (like I recommended :) skip this step.
  235.       Step 3: Run Murray.
  236.  
  237.       STEP 2 IS REALLY IMPORTANT BECAUSE MURRAY WILL RUN BUT WILL GET
  238.       CONNECTION ERRORS IF THE DIRECTORY IN THE CONFIG FILE DOES NOT EXIST.
  239.       SO YOU CAN FUCK EVERYTHING ELSE UP, BUT MAKE SURE YOU GET THE DIRECTORY
  240.       ENTRY CORRECT.
  241.  
  242.       You may want to make a shadow of Murray and put it in your startup
  243.       folder. This way, it'll always be running when you start up your machine
  244.       always waiting for that oh so perfect moment to download a "WHEEEE!"
  245.       sound as your boss is walking by.
  246.  
  247.       Ahh yes. Another holdover from NYTS II. I remember well. If you pass
  248.       a "/N" to Murray as a parameter, it will start up minimized. The idea
  249.       is that Murray does his thing in the background. You don't need to know
  250.       from it once it's set up, unless you want to read the quotes.
  251.  
  252.  
  253. ***** Murray Features.
  254.  
  255. VII.  Configure Murray. (Be in control, bend Murray to your will.)
  256.  
  257.       NOTE:
  258.  
  259.       In order to use most of Murray's functions you have to have your
  260.       net connection up and running. Murray requires information from
  261.       the Murray server in order to configure itself to run in the
  262.       background, and will make requests from the server even while just
  263.       in the configuration dialog.
  264.       This may make it slow to use depending on how fast your (and the
  265.       server's) net connections are. But you only have to do it once.
  266.       Of course, you'll want to be playing with it more, I assure you.
  267.  
  268.       Here's where you get to tell Murray what to do with itself in its
  269.       spare time.
  270.  
  271.       The first time you run it, Murray will set the default Murray server
  272.       and port. The defaults are 199.224.7.119 for the server IP address
  273.       and 1123 for the port number.
  274.       The above IP address is my server running at my house. Murray
  275.       accepts names for the server address, but for some reason TCP32DLL
  276.       blows up when Murray tries to resolve it. You can try putting in
  277.       nyti.spaghetti.com and you can see for yourself. If it works, more
  278.       power to you, if you know what the problem is, let me know and
  279.       I'll fix it :)
  280.       I will be posting addresses of other Murray servers as people tell me
  281.       they're installed. They will be available in the Murray News section.
  282.       (see below)
  283.       The port number (everything seems to have a story, don't it?) is 1123
  284.       for personal historic reasons. I applied to the nicmasters for a
  285.       proprietary port number, but they're being more than fast in getting
  286.       back to me. When/if I ever get one, I'll update the Murray default.
  287.       I'll run the server on both ports on nyti.spaghetti.com, the only
  288.       reason to get an assigned port number is to avoid (possible future)
  289.       conflicts with other people running server software on the same port.
  290.  
  291.       Make sure these two fields are set correctly and your internet
  292.       connection is up and running.
  293.  
  294.       Now for the fun part.
  295.       The list box on the left side of the dialog shows all of the options
  296.       that Murray can change for you. By clicking on one, a list of possible
  297.       categories will load up in the right side list box. There are three
  298.       categories of items. Text, (Murray quote), Pictures (desktop background)
  299.       and Sounds (all of the system sounds and Random Sound).
  300.       If the category list for the type of item is not in memory, Murray will
  301.       connect to the server to get it.
  302.       The cool part here is that different Murray servers may run different
  303.       categories. So if you like a different set of categories, you can
  304.       attach to a different server.
  305.  
  306.       What's a category?
  307.       Well, what kinds of things do you want to see? If you're talking about
  308.       text, do you want to see jokes, or one-liners or stories, or trivia
  309.       or any number of types of text. Same thing with pictures and sounds.
  310.       Do you want obnoxious fart noises? or samples like AOL's "You're in
  311.       Jail"?
  312.       To select a category for Murray to look through, just highlight it in
  313.       the list box on the right. Your selections are stored in the config
  314.       file.
  315.       If you don't make any selections, then this item will be turned off,
  316.       as in, Murray will not attempt to change the system sound or background
  317.       or whatever item you have selected no categories in.
  318.  
  319.       The refresh button forces Murray to go to the server to refresh the
  320.       list in case it has changed (see below, Adding a category).
  321.  
  322.       The Ping button is just a test event to make sure you're attached
  323.       to a server correctly. If you don't get a message saying the ping
  324.       was successful, then check the server name and port number.
  325.       (This is an example of what I meant by poor organization, you'd think
  326.       this would be at the top of this section.)
  327.  
  328.       The three spin buttons below the left list box specify the interval
  329.       at which the highlighted item in the left listbox will trigger.
  330.       The default setting is once a day. You can go as low as 10 minutes
  331.       or as high as 2 years minus 1 minute for each of the items.
  332.  
  333.       Wow, too much information, not enough jokes.
  334.       Joke break: Did you ever wonder why when you see a flock of birds
  335.       flying in that V formation one side is always longer than the other?
  336.       Because there are more birds on that side.
  337.  
  338.       The "Reset this item's timer" button is there so you can set Murray
  339.       to trip different things at different times. If you set everything to
  340.       once a day, Murray will try and shoot them all off at the same time.
  341.       This might hunker your machine down a bit, maybe not, but if 400
  342.       people do this every day, it will more than likely kill my server.
  343.       So pick a time of the day you want to have the item change, and
  344.       click this button to reset it as if it had just triggered, and then
  345.       the counter will start running from that point and will trip
  346.       at the next interval time. That probably didn't make too much sense.
  347.       If you don't get it, ask your wife or your kids or something. They'll
  348.       explain it to you.
  349.  
  350.       The "Trigger this item now" button oddly enough, trips the item to
  351.       load just as if it's timer had run out. Simple enough eh?
  352.  
  353.       The only difference between tripping an item with the button or 
  354.       having the timer do it in the background is the popup box that says
  355.       Murray is trying to connect to the server.
  356.  
  357.       At this point maybe we should talk a little about scheduling.
  358.  
  359.       Windows (you knew this was coming) in my opinion is a very solidly
  360.       written display interface. By no stretch of the imagination is it
  361.       an operating system. You boot DOS (Disk OPERATING SYSTEM) and you run
  362.       the program called windows. Everybody and their mother tried to make
  363.       it do a hell of a lot more than it is designed to and thus everybody's
  364.       having lots of problems with everything and the word GPF was entered
  365.       into the Merriam Webster Dictionary.
  366.       I wrote Murray with the intention of porting it to Windows 3.1 
  367.       and possibly Windows NT (I refuse to acknowledge win95 as, wow. I
  368.       don't even have a word or phrase for what I would describe win95 as.
  369.       'An Operating System' is certainly is not one of them. I'll work on
  370.       that.) So I chose the least common denominator to make it easier to
  371.       port to  win 3.1 (With enough convincing I may try and port it to
  372.       win95 as an exercise in where the world is being sent.)
  373.  
  374.       As a result there's only one thread in Murray, and you can see
  375.       where it might get hung up during a connection. I've tried to minimize
  376.       this problem as much as you can with one thread, but it's not perfect.
  377.       Another thread would make it much better, but then none of the windows
  378.       people would ever get a copy of Murray and we all want to spread the
  379.       joy of Murray so the happiness can be had by all, right?
  380.  
  381.       When Microsoft asks you where you want to go today, you say "Outside."
  382.  
  383.       The point is that you may get little hangies if the server or
  384.       connection is slow, and it will be a little more noticeable when you
  385.       trigger the event rather than letting the timer trigger the event
  386.       in the 'background.'
  387.  
  388.       I think that's about it for the configuration screen.
  389.  
  390.       The practical upshot of all this, is that, at every interval specified,
  391.       Murray will call to the server for each of the selected items, one
  392.       at a time, getting a new item from one of the selected categories.
  393.  
  394.  
  395.                                      ***
  396.  
  397.       I'll try to make the other sections shorter than the config section,
  398.       the rest of it's a lot simpler once you understand what Murray does.
  399.  
  400.                                      ***
  401.  
  402. VIII. Donate a file to the Murray server. (You can be part of the action too!)
  403.  
  404.       "Dynamic is good." My dad used to say. He has since moved on to other
  405.       more profound statements.
  406.  
  407.       What fun is Murray if you keep getting the same pictures and sounds
  408.       from the server over and over again?. So Murray allows you, the user,
  409.       to make your own donations to the Murray server. You can elect to
  410.       donate a quote, a picture or a sound.
  411.       Pictures must be in BMP format, and sounds must be in WAV format.
  412.       I will be screening everything coming in to my server to make sure
  413.       it's not too vulgar. I'm very anti-censorship and if you can't deal
  414.       with people talking about abortion and anti-god ideals, that's your
  415.       problem, but that's what categories are for. If mom doesn't want
  416.       to hear "unh unh" noises coming from her computer, she won't select
  417.       the "Sex noises" category for Random Sound. As such, if you donate
  418.       something to an inappropriate category I will not delete it, I will
  419.       move it to a better category.
  420.  
  421.       To donate, select the item type and category and hit OK. You'll get
  422.       the standard OS/2 file box. Pick your file and hit 'Donate.'
  423.  
  424.       That's all there is to it.
  425.  
  426.       The idea is that if everybody donates something every once in a while
  427.       Murray becomes a lot more fun for everybody to use. This is the
  428.       advantage Murray has over the other 'Wallpaper changers'. You don't
  429.       have to set it up yourself. Everybody donates to the cause.
  430.  
  431.       You'll notice (depending on when you start using Murray) that there
  432.       may not be a lot of categories or samples or pictures. My collection
  433.       is limited. My hard drive space will someday be limited. I'm going
  434.       to be asking for lots of donations in the beginning to get it
  435.       started off. When I start running out of drive space I will buy
  436.       more equipment (see the pricing section).
  437.  
  438.       Be Kind. Rewind.
  439.  
  440. IX.   Add a category to the Murray server. (Leave your mark on the server for
  441.       all to gape at in awe.)
  442.  
  443.       I'm not the most imaginative thinker in the world. It took me 15 years
  444.       to come up with the idea for Murray, so I quickly accept the fact that
  445.       Murray users will have ideas for categories and samples/pictures/quotes
  446.       that apply to them that I will not think of. So you can add a category.
  447.       Select 'Add a category to the Murray Server' and you'll get a dialog
  448.       asking what kind of item type you want add to, and then the category
  449.       name you want to add.
  450.       Let's try and not go ape-shit. Don't waste my time and yours with near
  451.       duplicates or categories that don't apply to the item type. I'm
  452.       just going to get rid of them.
  453.  
  454.       When you add a category, the server updates it's tables every 30
  455.       seconds if there's nobody pounding away at the server. So check back
  456.       a few minutes after you add the category to see if yours has been
  457.       added. (Thus the Refresh Category List option in the config dialog.)
  458.  
  459. X.    Send a comment or tip to the Murray server. (Spread your gospel to
  460.       the Murray server site in hopes that your tips will make it to the
  461.       tip file.)
  462.  
  463.       So I can send information to Murray users without having everybody's
  464.       Eddress (I'm still trying to coin that word:) there are two information
  465.       files that Murray can display in the quote window. The News file and
  466.       the tip file (see next two sections for descriptions).
  467.       The idea of the send a note to the server is so that you can send in
  468.       notes or tips of things about Murray you have found. I will check
  469.       this every couple of days and see what people have to say.
  470.       I would prefer Email for such things as bugs, feature suggestions and
  471.       things like that, but for tips or questions about using Murray or it's
  472.       content this feature is useful. If you've really got something
  473.       worthwhile to say, I'll add it to the news or tips file that Murray
  474.       distributes and everybody will be able to read your divine words.
  475.       If you've ever sent me email before, you know I always respond to
  476.       email and I just love getting messages from people.
  477.  
  478. XI.   Get news file from the Murray server. (If this file isn't entertaining
  479.       enough, there's plenty more where this came from.)
  480.  
  481.       The news file is a text file of information about Murray. Bug fixes
  482.       or new release information, or news about me and my future wife and
  483.       things like that. I will probably be the author, so expect this writing
  484.       style.
  485.       I'll also be listing addresses of other Murray Servers here.
  486.  
  487.       Selecting this option will send the request to have the most current
  488.       news file loaded into your quote box.
  489.  
  490. XII.  Get tips file from the Murray server. (Read the written gospel of other
  491.       Murray users.)
  492.       Exactly the same as the news file, except for the purpose of the
  493.       content. The tips file is more for user input than my babblings.
  494.       You can contribute to this file with the Send a comment option
  495.       (described above).
  496.  
  497. XIII. Right Click. (Q.E.D.)
  498.       Ever since a whole bunch of people asked for right button functionality
  499.       in the New York Telescheduler II, I've been going right click happy.
  500.       So, you can right click in two places so far. The quote window, and
  501.       the 'send a comment to the server' edit window.
  502.       The quote window allows you to copy the current highlighted selection to
  503.       the clipboard or trigger a request for a new quote (as if the timer
  504.       had run out). The idea being, you want to save the quote in your
  505.       own personal jokes file but don't want to retype it.
  506.  
  507.       In the 'send a comment to the server' window you can cut copy and paste
  508.       text, so it's easier to manipulate the text you want to send.
  509.  
  510. XIV.  Timer held (I'm busy, leave me alone)
  511.       Murray does one thing at a time due to its one-threadedness design.
  512.       Whenever Murray is busy doing something, a little "*Timer Held*"
  513.       message will appear in the bottom right corner of the Murray window.
  514.       While this message is on, Murray won't do much except for what
  515.       it's doing until it's done. Even exit. No timer events will trigger
  516.       when this message is on (for example while on the config screen),
  517.       or when an event is currently being dealt with. Nor will any of
  518.       the other menu options.
  519.  
  520. ***** Miscellaneous.
  521.  
  522. XV.   UnInstallation. ("How to use the del command for dummies")
  523.       This section gained such popular favor in NYTS II, I decided to add
  524.       it here too.
  525.  
  526.       Murray itself is one EXE. It requires a CFG file, and downloads a
  527.       bunch more files from the internet. It, unlike most MS products,
  528.       contains itself to the one installation directory.
  529.       So. If you want to get rid of Murray, you first tell a friend to
  530.       download it, so it spreads to other people and the whole world can
  531.       be blessed with the magic of Murray and the happiness that it brings
  532.       to all.
  533.       Then you just delete all the files in the Murray directory, and
  534.       the directory itself. There. No more Murray.
  535.  
  536. XVI.  Legalooze. (This is where I tell you that Murray is my idea and my
  537.       program and no matter what, I thought of it and implemented it first.)
  538.  
  539.       This piece of art is not published under the GNU license because,
  540.       while I stand for what they're doing, I'm personally not too thrilled
  541.       with the way they do it. So let's call it Ford-ware or Stu-ware.
  542.       I have the source, you don't. You have the executable, and this DOC
  543.       file. It all comes in one nice neat zip, and it's simpler if you
  544.       distribute it that way. I wrote it. It's mine. Say what you want, but
  545.       the copyright belongs to the original creator, which is me: Stu Mark.
  546.  
  547.       Give it out freely, but give out the original zip.
  548.  
  549.       There is no warranty expressed or implied, and all that other shit.
  550.       You use it at your own risk, I make no claims about what it will and
  551.       won't do.
  552.       This software makes every intention of downloading data via the
  553.       internet (God's great god damn). If you worry about viruses, read on.
  554.  
  555.       Some people have suggested that I add screen savers to the list of
  556.       things Murray can distribute. But I'm not going to make a highway
  557.       that viruses can drive on. Murray delivers data. Text, WAVs, and BMP's.
  558.       that's it. You can't possibly get a virus from Murray unless the EXE
  559.       itself has a virus on it, and if it does, I didn't distribute it that
  560.       way, somebody else did it to you.
  561.  
  562. XVII. Slaughtercow. (I haven't proved to you yet that I need to get out more)
  563.  
  564.       I was young as a child. I remember listening to the radio and hearing
  565.       the meteorologist report that "there's a chance of darkness tonight."
  566.       I would sit at home reading my books dated 400 B.C. and wonder how.
  567.  
  568. XVIII.Future releases/bug fixes. (There are no bugs, only design flaws.)
  569.  
  570.       This is the version 1.01 release of the Murray Client for OS/2.
  571.       I will be working on porting it to Windows 3.1 and then Windows 2000.
  572.       As such there are bound to be problems. Mostly because I learned
  573.       everything I know about TCP/IP by guessing. (Better than the damn
  574.       cat.)
  575.       If you report a problem to me, I'll do my best to fix it as soon as
  576.       I can and release a fix, and give you credit for rubbing it in
  577.       my face. It's easier to talk the talk than to walk the walk.
  578.  
  579. XIX.  Known problems. ("It's not my fault, really.")
  580.  
  581.       I recently installed Warp 4.0 on one of my machines (not the one
  582.       the Murray server is running on). I have noticed a bunch of
  583.       things have been fixed, and a few that don't work.
  584.       Some of these may be problems with Warp 4 or it just might be my
  585.       installation.
  586.  
  587.       1) The desktop background only changes once. When you reboot, the
  588.          last downloaded image comes up, but it doesn't change on the
  589.          fly like it's supposed to. This works fine for me on all the
  590.          machines I tested except for my Warp 4 machine.
  591.       2) Same kind of thing. The pop up message box that says things like:
  592.          "Connecting to server" doesn't size correctly on my Warp 4 machine.
  593.          But works everywhere else.
  594.       3) If Murray makes a successful connection to the server and then you 
  595.          lose your internet connection, it will seem to hang (it just takes
  596.          a really long time to time out). Enter Fixpack 17 or Warp 4.
  597.          (Put this in your config sys: SET PM_ASYNC_FOCUS_CHANGE=ON 500)
  598.          This is a problem because I avoided using threads in Murray so that
  599.          it would be easier to port to windows (and because of my limited
  600.          amounts of documentation on TCP/IP). When you're planning on
  601.          porting you always write for the least common denominator which in
  602.          this and most cases, is windows.
  603.          As I learn more about TCP/IP I'll try and fix this.
  604.       4) When entering the server address, you can enter a name or an IP
  605.          address. For some reason I can't explain sometimes the TCP32DLL
  606.          blows up when trying to resolve the name thus killing Murray.
  607.          You can try hostnames for the server entry, and if it doesn't work
  608.          use the IP address. The IP address for nyti.spaghetti.com is
  609.          199.224.7.119 
  610.          If you want to attach to another Murray server (not that I know of
  611.          any, and you want to get it's IP address do a whois or nslookup
  612.          on the name and you'll get the IP address.
  613.          Again, when I learn what I'm doing wrong, I'll fix it.
  614.       5) Running multiple copies of Murray. Probably wont work. I'll leave
  615.          this one as an exercise for the reader.
  616.  
  617. XX.   Update history.
  618.  
  619.       2/4/97   Murray Server Version 1.00
  620.                Murray Client for OS/2 Version 1.00
  621.                Unlike Microsoft, my version numbers mean something.
  622.  
  623.       2/21/97  Some problems have cropped up and I haven't gotten to
  624.                releasing this yet. I got hold of the winsock API which
  625.                I'm planning to port Murray to, and I found that I guessed
  626.                wrong about how it worked, and limiting Murray to use one
  627.                thread was a mistake. So I added threads to the OS/2 version
  628.                so it shouldn't hang the machine at any point, while it's
  629.                connecting or receiving. Also rigged it so you can quit
  630.                Murray at any time. I always hated those programs that
  631.                didn't quit when you asked them to, like MS VB.
  632.                Also, it turns out that you can run multiple copies of Murray
  633.                as long as you do it from two different directories, I.E.
  634.                two config files. Can't imagine why you'd want to do it, but
  635.                it works.
  636.  
  637.       4/7/97   Version 1.01
  638.                Added error message to explain why Murray doesn't appear to
  639.                be doing anything when you think it should be.
  640.                I started seeing this on the first day and realized it's more
  641.                a failing of the documentation than a bug. So I added an
  642.                error message to make it more obvious what to do, but the idea
  643.                is that, if you're on the configure screen and hit 'trigger'
  644.                and there are no categories selected in the right side box,
  645.                nothing's going to happen. This is okay if it's tripped by the
  646.                timer because selecting nothing is how you turn the option off,
  647.                but when you hit 'trigger' and nothing happens, I can see
  648.                where it looks broken. Next time I'll have OTHER people beta
  649.                test. heh heh.
  650.  
  651.                When you read tips or news, the cursor is moved to the top of
  652.                the editbox. Not a big deal, but I noticed it and it bothered
  653.                me.
  654.  
  655.                Thanks to Anders Green for helping me out with a few things.
  656.                He assured me that the Warp 4 background problem was in fact
  657.                a problem and not a fluke of my install. After a month of
  658.                trying to figure it out, just the other day I was dead tired
  659.                from lack of sleep and a full day of hikking and rock
  660.                climbing, I got home, and *dink*, a little light went on.
  661.                So I did a bit of fiddling and sure enough, simple problem
  662.                with Warp 4 backgrounds. If you want the dirt, here it is:
  663.                Murray downloads a random picture to the file "backgrou.bmp"
  664.                Then it tells the desktop to make that the new background
  665.                picture. Well, apparently in Warp 4, either because of a
  666.                sharing problem or because it sees I'm using the same filename,
  667.                it doesn't update the screen. So I flip between 2 different
  668.                filenames, and voila.
  669.  
  670.                Mr. Green also helped assure me that I wasn't doing anything
  671.                wrong with the TCP/IP name resolution call, so I looked to
  672.                other things. I think I've got it fixed. Had to do with
  673.                structure packing. As if PC's aren't complicated enough, let
  674.                us all buy chips from a manufacturer that after 17 years still
  675.                can't make a chip that reads odd boundary bytes quickly.
  676.                Fuck em.
  677.                Well, I make it a habit of structure packing everything to
  678.                1 byte to avoid compatibility problems between versions of
  679.                software (The windows and os/2 versions for example) and
  680.                didn't realize I was packing the TCP/IP headers as well.
  681.                I'm amazed Murray works as well as it does considering.
  682.                This seems to have cleared the name resolution problem up.
  683.                Still the ip address will go faster because there's no
  684.                name lookup, but you should be able to use
  685.                'nyti.spaghetti.com' instead of 199.224.7.119 if you like.
  686.  
  687.                I think that's all I did so far. Ahh yes. I made a neat
  688.                change to the server. I almost forgot. It's in the news file.
  689.                I rigged it so that when you get a category list, it also
  690.                puts a number in parenthesis next to the name. This is
  691.                the number of items available in this category. So if it
  692.                seems like you're getting a lot of repeats from a category,
  693.                it means: A) There might not be very many items in the
  694.                category, and now you can tell for yourself, and B) You can
  695.                make an effort to rectify the problem. :)
  696.  
  697.                Thanks to those who have donated sounds and pictures to the
  698.                Murray server. Your help is greatly appreciated.
  699.  
  700.                I have found (from this end, testing and some user reports)
  701.                that they are getting 'TCP/IP error during block read.'
  702.                This is a timing problem with Murray. If I knew exactly what,
  703.                I'd fix it now. I'm still looking into it though. What kills
  704.                me, is that I had this working perfectly when I was testing
  705.                Murray, and then just before I released it, I set it to
  706.                dynamically bind the tcpip stack instead of link it staticly.
  707.                This way instead of the program just not running with a
  708.                "Can't find tcpip32dll" error or something like that, I could
  709.                give a useful error message. Unfortunately, this is when the
  710.                timing errors started. I'll let you know when I get it fixed.
  711.  
  712.  
  713. XXI.  My life saga. (People who like to read about my personal life.)
  714.  
  715.       If you're a NYTS II documentation follower...
  716.       When we last left our hero he was spending way too much money on
  717.       his international phone bill. It's gotten better.
  718.       How much do you think I have to spend to get a letter from AT&T that
  719.       says "You've saved over $1000.00 in long distance charges in the
  720.       past two months."
  721.       For those of you new to my rather bizarre and off topic documentation
  722.       style here's the story.
  723.       My fiancee went to Israel to go to school at Bar Ilan University.
  724.       I live in New York in the United States. I spend quite a bit of money
  725.       calling her, writing letters, and sending flowers and such things.
  726.       But thanks to the mighty internet, I'm going to help AT&T shoot
  727.       themselves in the foot (aiming gun at foot in mouth) by installing
  728.       iphone or some such similar product, thereby getting lousy voice
  729.       quality sound at somebody elses expense (using their own cable network
  730.       against them). This is only temporary until we get back together. I've 
  731.       paid my dues (thousands in phone bills). Am I bitter?
  732.  
  733.       4/7/97 Well, did I tell you? My future fiancee/wife made a surprise
  734.       visit to come see me from Israel. Ain't she sweet? So I pretty much
  735.       put everything off for the two weeks she was here.
  736.       Then there was that noreaster. My apartment complex got nailed with
  737.       every tree down you could find. No power for 3 days (no heat either,
  738.       ever try and sleep in 40 degrees (farhenheit)?). No power, no Murray
  739.       server. Only so much complaining to the power company I can do. Sorry
  740.       for the loss of service.
  741.       The windows version is about 80% done, but I'm currently looking for
  742.       new employment and this is taking up some of my nonexistant free time.
  743.       I will finish it. Oh yes, it will be done.
  744.  
  745.       For all you os/2 fans out there (like me), I installed Win NT on my
  746.       DX4/100 with 64 megs of memory. And it's still a dog. Os/2 is happy
  747.       as shit with all the memory, I don't have a swap file. It's neat. If
  748.       you can afford it, I recommend it. Just say No to NT.
  749.  
  750. XXII. Are you paying attention? (Have you finished your shit yet?
  751.       You can use the end of the last page for toilet paper if need be.)
  752.       If you've been reading religiously, you'll remember the names
  753.       of the people who were getting married at the time I had the idea
  754.       for Murray.
  755.       If you don't, you won't.
  756.  
  757.  
  758. XXIII.I still haven't figured out a good word or phrase to describe how
  759.       I feel about win95. We'll also leave this as an exercise for the
  760.       reader.
  761.  
  762.       People tell me "I'd've" isn't a valid contraction.
  763.  
  764.       Remember the first time you saw Star Wars (you did see it didn't you?)
  765.       and they're in the garbage bin and there's that thing slithering under
  766.       the muck? Well, I was 7 when I first saw Star Wars in the theater
  767.       and that left a scary sorta worried feeling in me. That's the closest
  768.       thing I think of to describe how I feel about win95.
  769.  
  770. XXIV. Running a Mighty Murray Server.
  771.       If you're interested in running a Murray server. Contact me. I'd
  772.       be very glad to help you set it up. There's only one version of the
  773.       Murray Server and I don't plan on porting it to any other OS, so if
  774.       you don't run OS/2 and you don't plan on writing your own server,
  775.       this is probably not a viable option for you.
  776.       It's really a good idea to have a 24/7 connection to the internet
  777.       otherwise nobodies going to attach to your server. Simple enough eh?
  778.  
  779. XXV.  Not There.
  780.       I just had this silly idea. Actually, I had it a long time ago, and
  781.       just remembered it now. Free thank you card to the first person who
  782.       can answer me this question: (The answer "Because everybody does
  783.       what microsoft says." is not valid.)
  784.  
  785.       Win 3.1 is a solid program. NT is a solid program. 95 is not a solid
  786.       program. These are all well known documented facts.
  787.       NT can run 3.1 program. 95 can run 3.1 programs. Don't need 3.1.
  788.       NT can run NT programs, and NT can run 32-bit native 95 program.
  789.       (If you've ever seen the requirements for getting a "designed for
  790.       windows 95" sticker on your box you'll see that it says it's got
  791.       to run under NT.)
  792.       Why do we need 95? or 97 or whatever it's going to be called when
  793.       it finally comes out. The hardware requirements for 95 are just as
  794.       bad as the requirements for NT, so what's the point?
  795.       Everybody knows that they're going to dump 95 anyway soon enough,
  796.       microsoft said it themselves.
  797.       So why is everybody running win95, a shittier less stable dos hack
  798.       than a 32 bit stable OS?
  799.  
  800.       Coalition to get everybody to drop 95 and start using OS/2, Linux
  801.       or NT.
  802.  
  803.  
  804. Feel free to get in touch with me. I'm human, just like most of you. And I
  805. like to know the world needs me :)
  806.  
  807. -----------------------------=====================--------------------------
  808. Murray Client for OS/2 V1.01 4/7/97 Copyright Stu Mark.
  809. email: fordii@j51.com
  810. or call my BBS: 914-267-0504
  811. or telnet nyti.spaghetti.com (24 hours a day)
  812.  
  813.  
  814. Monetary donations (see section IV) can be made payable to:
  815.  
  816. Stu Mark    Attn: Murray
  817. P.O. Box 77
  818. Valley Cottage, NY 10989
  819. U.S.A.
  820.  
  821.  
  822. Latest and greatest versions of all my software are available via ftp
  823. at nyti.spaghetti.com
  824. I have some utilities that I wrote a long time ago that I'll be putting
  825. up sometime.
  826.  
  827. Come visit my web page (it's rather sparse right now, all my free time goes
  828. to working on Murray and I don't have any time to make a nice page) at
  829. (guess where...)  http://nyti.spaghetti.com
  830.  
  831. -----------------------------=====================--------------------------
  832.  
  833. As you can tell, I enjoy bashing MS and would do it more, but this file is
  834. long enough as it is. This is an OS/2 program. Why ruin it by
  835. mentioning MS too much. However, I always put in the following disclaimer:
  836.  
  837. (any nasty remarks sent in the general direction of window's capacity to
  838.  function, [are fully intentional,] are not opinion, but state of fact. So
  839.  don't try to slam me with some bullshit libel suit.)
  840.  
  841. I've also decided to start a campaign to make it a really loud notion to
  842. compare The Microsoft marketing department to the Marketing department at
  843. Sirius Cybernetics Corp. Anybody with me on this? If so, mail a message to
  844. my BBS at doom@nyti.spaghetti.com
  845.  
  846. FYIWDWYTM Everything Always Forever with Aviva.
  847.  
  848.